﻿// <copyright file="IProgramAffector.cs" company="Beuth Hochschule für Technik">
// Breakdown - Configure your Windows 7 Firewall
// Copyright (C) 2009 Stefan "dersteps@gmail.com" Matyba
// This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; 
// either version 3 of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/.
// </copyright>
// <author>Stefan Matyba</author>
// <email>dersteps@gmail.com</email>
// <date>2009-10-18</date>
// <summary>Breakdown Application Logic - Interface for rules affecting programs</summary>

namespace Breakdown.Logic
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// All classes (Rules!) that implement this pattern affect a single program
    /// </summary>
    public interface IProgramAffector
    {
        /// <summary>
        /// Gets or sets the FileInfo for the program affected
        /// </summary>
        FileInfo AffectedProgram { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether or not all programs are affected by this rule
        /// </summary>
        bool AffectsAllPrograms { get; set; }
    }
}
